package com.starchen.optimalselection.common.utils;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum ResponseEnum {

    SUCCESS(200, "发送成功"),
    ERROR(-1, "服务器内部错误"),

    //-1xx 服务器错误
    BAD_SQL_GRAMMAR_ERROR(101, "sql语法错误"),
    SERVLET_ERROR(102, "servlet请求异常"), //-2xx 参数校验
    EXPORT_DATA_ERROR(104, "数据导出失败"),
    SERVICE_ERROR(105, "服务异常"),

    //2xx 参数校验
    BORROW_AMOUNT_NULL_ERROR(201, "token数据异常"),
    MOBILE_NULL_ERROR(-202, "手机号码不能为空"),
    MOBILE_ERROR(-203, "手机号码不正确"),
    PASSWORD_NULL_ERROR(204, "密码不能为空"),
    CODE_NULL_ERROR(205, "验证码不能为空"),
    CODE_ERROR(206, "验证码错误"),
    MOBILE_EXIST_ERROR(207, "手机号已被注册"),
    LOGIN_MOBILE_ERROR(208, "用户名不存在"),
    LOGIN_PASSWORD_ERROR(209, "密码错误"),
    LOGIN_LOKED_ERROR(210, "用户被锁定"),
    LOGIN_AUTH_ERROR(-211, "未登录"),


    //-3xx 用户信息
    USER_BIND_IDCARD_EXIST_ERROR(301, "身份证号码已绑定"),
    USER_NO_BIND_ERROR(302, "用户未绑定"),
    USER_NO_AMOUNT_ERROR(303, "用户信息未审核"),
    USER_AMOUNT_LESS_ERROR(304, "您的借款额度不足"),
    LEND_INVEST_ERROR(305, "当前状态无法投标"),
    LEND_FULL_SCALE_ERROR(306, "已满标，无法投标"),
    NOT_SUFFICIENT_FUNDS_ERROR(307, "余额不足，请充值"),
    SKU_LIMIT_ERROR(308,"购买个数不能大于限购个数"),

    UNAUTHORIZED(308, "暂未登录或token已经过期"),
    ILLEGAL_REQUEST(309, "非法请求"),
    REPEAT_SUBMIT(310, "重复提交"),
    LOGIN_AUTH(311, "未登陆"),
    PERMISSION(312, "没有权限"),
    ACCOUNT_ERROR(313, "账号不正确"),
    PASSWORD_ERROR(314, "密码不正确"),
    LOGIN_MOBLE_ERROR( 315, "账号不正确"),
    ACCOUNT_STOP( 316, "账号已停用"),
    NODE_ERROR( 317, "该节点下有子节点，不可以删除"),
    DATA_ERROR(318, "数据异常"),
    UPLOAD_ERROR(319, "文件上传错误"),

    ALIYUN_RESPONSE_ERROR(-501, "阿里云短信服务响应失败"),
    ALIYUN_SMS_LIMIT_CONTROL_ERROR(-502, "短信发送过于频繁"),//业务限流
    ALIYUN_SMS_ERROR(-503, "短信发送失败"),//其他失败

    WEIXIN_CALLBACK_PARAM_ERROR(601, "回调参数不正确"),
    WEIXIN_FETCH_ACCESSTOKEN_ERROR(602, "获取access_token失败"),
    WEIXIN_FETCH_USERINFO_ERROR(603, "获取用户信息失败"),
    ARGUMENT_VALID_ERROR(605, "参数校验异常");


    //响应状态码
    private Integer code;
    //响应信息
    private String message;




}
